package com.td.module.agro.dal.dataobject.review;

import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.td.framework.mybatis.core.dataobject.BaseDO;
import lombok.*;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 溯源信息 DO
 *
 * @author 吴佰强
 */
@TableName("agro_review")
@KeySequence("agro_review_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ReviewDO extends BaseDO {

    /**
     * 主键id
     */
    @TableId
    private Long id;
    /**
     * 溯源码
     */
    private String agroCode;
    /**
     * 溯源码图片
     */
    private String agroCodeImg;
    /**
     * 数据层面
     */
    private Integer pollingType;
    /**
     * 农产品名称
     */
    private String agroProductName;
    /**
     * 农产品类别（1.粮油作物 2.瓜果、蔬菜 3.食用菌 4.花卉、苗木 5.药材）
     */
    private Integer agroProductType;
    /**
     * 农产品描述
     */
    private String agroProductDescribe;
    /**
     * 农产品产地
     */
    private String agroProductOrigin;
    /**
     * 农产品制造商
     */
    private String agroProductManufacturer;
    /**
     * 农产品价格
     */
    private BigDecimal agroProductPrice;
    /**
     * 农产品重量
     */
    private BigDecimal agroProductWeight;
    /**
     * 储存方式（1.常规储存 2.沟藏和堆藏 3.窖窑储存 4. 冷藏储存 5.气调保鲜储存）
     *
     * 枚举 {@link # agro_review_storage_method 对应的类}
     */
    private Integer storageMethod;
    /**
     * 包装方式（1.防潮包装 2.防水包装 3.防霉包装 4.充气包装 5.真空包装 6.冷冻包装）
     *
     * 枚举 {@link # agro_review_packaging_method 对应的类}
     */
    private Integer packagingMethod;
    /**
     * 储存时间
     */
    private String storageTime;
    /**
     * 生产日期
     */
    private LocalDateTime produceDate;
    /**
     * 环境监测类别(1.土地、2.水质)
     *
     * 枚举 {@link # agro_review_environment_monitoring_type 对应的类}
     */
    private Integer environmentMonitoringType;
    /**
     * 环境监测方式（0.无监测 1化学监测，2物理监测，3生物监测，4生态监测）
     *
     * 枚举 {@link # agro_review_environment_monitoring_method 对应的类}
     */
    private Integer environmentMonitoringMethod;
    /**
     * 环境监测负责人
     */
    private String environmentMonitoringPerson;
    /**
     * 环境监测结果（0.不合格 1.合格）
     *
     * 枚举 {@link # agro_review_environment_monitoring_result 对应的类}
     */
    private Integer environmentMonitoringResult;
    /**
     * 环境监测开始时间
     */
    private LocalDateTime environmentMonitoringStartTime;
    /**
     * 环境监测结束时间
     */
    private LocalDateTime environmentMonitoringEndTime;
    /**
     * 生产视频监控地址（生产视频）
     */
    private String produceVideoMonitorUrl;
    /**
     * 生产视频监控时间
     */
    private LocalDateTime produceVideoMonitorTime;
    /**
     * 质量检测机构
     */
    private String qualityTestOrganization;
    /**
     * 质量检测负责人
     */
    private String qualityTestPerson;
    /**
     * 质量检测方式（0.无检验 1. 集中检验 2. 现场检验 3. 流动检验(巡检)）
     *
     * 枚举 {@link # agro_review_quality_test_method 对应的类}
     */
    private Integer qualityTestMethod;
    /**
     * 质量检测项目与依据
     */
    private String qualityTestProjectBasis;
    /**
     * 质量检测结果（0.抽检不合格 1.抽检合格）
     *
     * 枚举 {@link # agro_review_quality_test_result 对应的类}
     */
    private Integer qualityTestResult;
    /**
     * 送检日期
     */
    private LocalDateTime qualityTestSamplingTime;
    /**
     * 质量检测日期
     */
    private LocalDateTime qualityTestTime;

}
